﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;


namespace GestionEco
{
    public class Tulipe : Vegetal
    {
        private static int numero = 0;

        //protected string[] typeTerrain;
        public Tulipe(bool s, int uneVieMax, int uneSoifMax, int desPointsActionActuels, Image imageTulipe)
            : base(s, uneVieMax, 0, 0, 0, 0, 0, 0, uneSoifMax, desPointsActionActuels, "Tulipe-" + numero++, imageTulipe, new List<String> { "Plaine" })
        {

        }


        public override void vieillir()
        {
            base.vieillir();
        }

        public override void seNourrir(EtreVivant e)
        {
            base.seNourrir(e);
        }

        public override void boire(int quantite)
        {
            base.boire(quantite);
        }

        public override EtreVivant seReproduire(EtreVivant uneTulipe)
        {
            Tulipe enfant = null;
            if (this.Sexe != uneTulipe.Sexe)
            {
                Random rnd = new Random();
                int enfVieMax = (this.VieMax + uneTulipe.VieMax) / 2;
                int enfSoifMax = (this.SoifMax + uneTulipe.SoifMax) / 2;
                //int enfCoeffSoif = (this.coeffSoif + uneChevre.CoeffSoif) / 2;
                int enfPointsActuel = (this.PointsActionActuels + uneTulipe.PointsActionActuels) / 2;
                //int enfAgeMax = (this.AgeMax + uneChevre.AgeMax) / 2;
                int enfMajorite = (this.Majorite + uneTulipe.Majorite) / 2;
                //int enfNbTourReprod = (this.nbTourReprod + uneChevre.NbTourReprod) / 2;
                int enfS = rnd.Next(1, 3);
                bool enfSexe;

                if (enfS == 1)
                {
                    enfSexe = true;
                }
                else
                {
                    enfSexe = false;
                }


                enfant = new Tulipe(enfSexe, enfVieMax,enfSoifMax, enfPointsActuel, this.imageEtre);
            }
            else
            {
                Console.WriteLine("Les deux etres vivants ont le meme sexe");
                return null;
            }

            return enfant;
        }
    }
}
